<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组对象</title>
    <script>
        //1. 添加数组元素的方法
        // push() 在数组末尾添加一个/多个元素的值 返回新数组的长度
        var arr = [1, 2, 3];
        arr.push(4);
        arr.push('pink');
        console.log(arr);
        console.log(arr.push());
        // unshift() 在数组开头添加一个/多个元素的值 返回新数组的长度
        arr.unshift('red', 'purple');
        console.log(arr);
        console.log(arr.unshift());

        // 2.删除数组元素的方法
        // pop() 删除数组的最后一个元素 返回的是被删除的元素的值
        console.log(arr.pop());
        console.log(arr);
        //shift() 删除数组的第一个元素 返回的是被删除的是元素值
        console.log(arr.shift());
        console.log(arr);

        // 2.筛选数组
        // [1500,1200,200,2100,1800]超过2000的删除，其余的放在新的数组里面
        var arr1 = [1500, 1200, 2000, 2100, 1800];

        function newarr(arr2) {
            var arr3 = [];
            for (var i = 0; i < arr2.length; i++) {
                if (arr2[i] <= 2000) {
                    // arr3[arr3.length] = arr2[i]
                    arr3.push(arr2[i]);
                }
            }
            return arr3;
        }
        console.log(newarr(arr1));

        // 3.数组排序
        // 反转数组
        var arr = ['red', 'pink', 'purple', 'blue'];
        console.log(arr.reverse());
        // 数组排序（冒泡排序）
        var arr = [1, 3, 2, 43, 231, 456, 23];
        console.log(arr.sort(function(a, b) {
            return a - b; //升序排列
            // return b - a; //降序排列
        }));

        // 4.返回数组元素索引号方法
        var arr = ['red', 'pink', 'purple', 'blue'];
        // indexOf()返回要查找的数组的索引号 只返回第一个满足条件的 找不到返回-1
        console.log(arr.indexOf('pink'));
        console.log(arr.indexOf('black'));
        console.log(arr.lastIndexOf('red'));

        // 5.数组去重(去掉数组中重复的元素)
        // 核心算法：遍历旧数组，用旧数组去查询新数组，如果该元素在新数组则不添加
        var arr = [1, 3, 5, 7, 9, 9, 7, 5, 3, 1];

        function unique(arr1) {
            var newarr = [];
            for (var i = 0; i < arr1.length; i++) {
                if (newarr.indexOf(arr1[i]) == -1) {
                    newarr.push(arr[i]);
                }
            }
            return newarr;
        }
        console.log(unique(arr));

        // 6.数组转换为字符串
        // toString()
        var arr = [1, 3, 5, 7, 9, 9, 7, 5, 3, 1];
        console.log(arr.toString());
        // join('分隔符')
        var arr = ['red', 'pink', 'purple', 'blue'];
        console.log(arr.join('/'));

        // 7.concat()
        var arr = ['red', 'pink', 'purple', 'blue'];
        var arr1 = [1, 3, 5, 7, 9, 9, 7, 5, 3, 1];
        console.log(arr.concat(arr1));
        console.log(arr.slice(1, 3));
        console.log(arr.splice(1));
    </script>

</head>

<body>

</body>

</html>